Payment Parameters
Parameters to describe a single payment made using Mobile Payments SDK. Use Builder to create and configure payment parameters, for example:
val paymentParameters = PaymentParameters.Builder(
amount = Money(350, USD),
processingMode = AUTO_DETECT,
allowCardSurcharge = true
)
.paymentAttemptId("SK95TM0")
.autocomplete(true)
.orderId("YZ2319D")
.tipMoney(Money(100, USD))
.referenceId("1314387")
.build()Types
The builder used to create PaymentParameters. An amount of money, processingMode, and allowCardSurcharge are all required to build PaymentParameters. In addition, Builder.paymentAttemptId or (deprecated) Builder.idempotencyKey must be set.
Properties
Allows successful authorization of a part of the requested amountMoney. Defaults to false. It is necessary to check the returned Payment object to determine the actual amount authorized.
Enable or disable card surcharges for this payment. If false, no surcharge is applied to this payment, even if the merchant has configured a card surcharge in the Square Dashboard. If true, the card surcharge settings in the Dashboard (if configured) are applied to this payment.
The amount of money to accept for this payment, not including tipMoney, but including any appFeeMoney.
appFeeMoney is an amount of money paid to a marketplace or application developer instead of the selling merchant, as a fee for processing the payment. Square takes the specified portion of the amount from the payment and deposits it in the developer account balance. For payments (including tip) greater than or equal to
$5.00, the maximum application fee percentage is 90%. For amounts below $
5 the maximum application fee percentage is 60%.Most transactions immediately "capture," but this setting can delay that. It is true by default, but if set false, then the card will be processed up to authentication, and will complete or cancel based on the delayDuration and delayAction settings.
Optionally set to the customer Id of the purchaser.
Action to take after delayDuration has expired without payment the authorized payment being either completion or cancellation. By default, this will be CANCEL unless explicitly set.
Delay between creating a payment with autocomplete=false and when Square will automatically cancel the payment. Expressed in milliseconds here, because that is the JVM standard, but sent truncated to minutes (60,000ms), because a 5 millisecond delay is silly. Unused when autocomplete=true, because the payment will be completed or failed immediately.
Optionally override the location provided when authenticating to Mobile Payments SDK.
A unique identifier for the payment attempted with PaymentManager.startPaymentActivity. When provided, Mobile Payments SDK generates a unique idempotency key for the payment request and stores it with the payment attempt ID. If multiple payment requests are made for the same payment attempt (e.g. due to Strong Customer Authentication (SCA) requirements in Europe), the SDK generates a new idempotency key for each request and replaces the stored idempotency key for the payment attempt ID.
The processingMode parameter determines whether the current payment needs to be processed online or offline. By default, this will be AUTO_DETECT unless explicitly set.
Optional value that can be used to associate a reference to some external system with this payment. The value is not used by Square. The same value is returned in a successful Payment response.
An override of the description line on the buyer's statement. Will be prefixed with Square's "SQ*" prefix, and may be truncated by the bank during generation.
Optional team member to associate with the payment.
The amount charged as a tip, in addition to amountMoney.